package iblink.adapter.request;

import iblink.core.ISecurity;
import iblink.core.ScannerArgs;
import iblink.util.Constants.BarSize;
import iblink.util.Constants.DataType;
import iblink.util.Constants.Duration;

import java.util.Date;

import com.ib.client.Contract;

public interface IRequestFactory {

	public HistoricalDataRequest createHistoricalDataRequest(ISecurity sec,
			Date endDateTime, Duration duration, BarSize barSize,
			DataType whatToShow, boolean onlyRegularTradingHours);

	public ScannerDataRequest createScannerDataRequest(ScannerArgs scannerArgs);

	public ContractDetailsRequest createContractDetailsRequest(Contract contract);
}
